﻿//  --------------------------------
//  Copyright (c) PK Logix LLC. All rights reserved.
//  This source code is made available under the terms of the GNU General Public License version 2 (GPLv2)
//  http://www.codeplex.com/mvcclubsite/license
//  ---------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MVCClubSite.Model;

namespace MVCClubSite.IDAL
{
    public interface IUserProfiles
    {
        /// <summary>
        /// Method to get user profiles
        /// </summary>
        /// <returns></returns>
        IQueryable<UserProfile> GetUserProfiles();

        /// <summary>
        /// Method to get a user's profile
        /// </summary>
        /// <param name="userID">Guid of the user</param>
        /// <returns>User profile business entity</returns>
        UserProfile GetUserProfile(Guid userID);

        /// <summary>
        /// Method to insert or update a user profile
        /// </summary>
        /// <param name="userProfile">Profile to insert or update</param>
        void Save(UserProfile userProfile);

        /// <summary>
        /// Method to delete a user profile
        /// </summary>
        /// <param name="userID">Guid of the user to delete</param>
        void Delete(Guid userID);
    }
}
